Add shortcuts for the !children case
authorMatthias Clasen <mclasen@redhat.com>
Fri, 13 May 2011 00:12:51 +0000 (20:12 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 13 May 2011 00:12:51 +0000 (20:12 -0400)
Not that we are doing too much work in that case, but we are
segfaulting, which is bad.
https://bugzilla.gnome.org/show_bug.cgi?id=649972

gtk/gtkgrid.c

index f202bb4f84e15523128d1c56cba17dc753d8fda8..e1c56f948f85955d190661e09e113e4095cb57a8 100644 (file)
@@ -1048,6 +1048,15 @@ gtk_grid_get_size (GtkGrid        *grid,
   GtkGridRequest request;
   GtkGridLines *lines;
 
+  if (minimum)
+    *minimum = 0;
+
+  if (natural)
+    *natural = 0;
+
+  if (grid->priv->children == NULL)
+    return;
+
   request.grid = grid;
   gtk_grid_request_count_lines (&request);
   lines = &request.lines[orientation];
@@ -1069,6 +1078,15 @@ gtk_grid_get_size_for_size (GtkGrid        *grid,
   GtkGridLines *lines;
   gint min_size;
 
+  if (minimum)
+    *minimum = 0;
+
+  if (natural)
+    *natural = 0;
+
+  if (grid->priv->children == NULL)
+    return;
+
   request.grid = grid;
   gtk_grid_request_count_lines (&request);
   lines = &request.lines[0];
@@ -1214,6 +1232,12 @@ gtk_grid_size_allocate (GtkWidget     *widget,
   GtkGridRequest request;
   GtkGridLines *lines;
 
+  if (priv->children == NULL)
+    {
+      gtk_widget_set_allocation (widget, allocation);
+      return;
+    }
+
   request.grid = grid;
 
   gtk_grid_request_count_lines (&request);